package com.itbaizhan;

import java.util.Arrays;

//comparable 接口
//多个对象做比较，就要有“比较规则”，然后实现排序
//java中排序算法的底层也依赖Comparable接口
/*Comparable 接口中只有一个方法：
*       public  int comparTo(Object obj) obj  为要的比较的对象
* 方法中，将当前对象和obj这个对象进行比较，如果大于返回1，等于返回0，小于返回-1
*（此处的1也可以是正整数，-1也可以是负整数） */
//compareTo方法比较固定:
/*public int compareTo(Object o) {
            Man2 man = (Man2) o;
            if (this.age<man.age){
                return-1;
            }
            if(this.age>man.age){
                return 1;
            }
            return 0;
        }*/
public class TestComparable {
    public static void main(String[] args) {
        //声明数组
        Man2[] msMans = {
                         new Man2(3,"a"),
                         new Man2(20,"b"),
                         new Man2(2,"c")
        };
        System.out.println(Arrays.toString(msMans));
        Arrays.sort(msMans);
        System.out.println(Arrays.toString(msMans));
    }

}
class Man2 implements Comparable {
    int age;
    int id;
    String name;

    public Man2(int age, String name) {
        super();
        this.age = age;
        this.name = name;
    }


    public String toString() {
        return this.name;
    }

    public  int compareTo(Object o) {
        Man2 man2 = (Man2) o;
        if (this.age<man2.age) {
            return -1;
        }
        if(this.age> man2.age){
            return 1;
        }
        return 0;
    }

}